The present invention relates to the field of data transfer, and more particularly, to a method for providing continuous bidirectional transfer of data with external data acknowledge. External data acknowledge is a control line from the receiving device to the sending device used to prevent data from being presented faster than the receiving device can accept it.
Digital computers and peripherals built to VME standards offer a wide selection of modules that can be assembled into systems which are capable of performing many design functions. An example of a medium priced, VME single board computer is the FORCE Computers Model CPU-33XB which offers three ways to export parallel data. The first way is an industry standard data transfer circuit called the 68230 Parallel Input-output/Timer (PI/T). The PI/T offers two eight bit ports that can be combined to output 16 lines of data with external acknowledge. Because of internal limitations, however, the continuous rate of data transfer of this device is less than 200,000 bytes per second. The second way is referred to as "Direct Memory Access" (DMA). This method offers a high data transfer rate with external acknowledge, but is limited to transferring only one block of data at a time. The DMA registers must be reloaded after each block, creating timing gaps that severely reduce the continuous data transfer rate. The third method uses a local I/O port which allows access to the address bus and the data bus of the CPU. This method offers a high continuous data transfer rate (eight bits per transfer), but there is no provision for external data acknowledge to prevent data overrun.
None of these methods offers data transfer rates in the range of 4 megabits per second with external data acknowledge, severely limiting the capability of exporting data from a VME system to an external device. Therefore, there is a need for a method that is capable of utilizing the local I/O port of a processor in a manner which provides a continuous data transfer rate of at least 4,000,000 bytes per second and incorporates an external data acknowledge function.